<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
                "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head>
  <title>Description of mtimes</title>
  <meta name="keywords" content="mtimes">
  <meta name="description" content="mtimes(p,q) --- p*q is the meet of the partitions p and q">
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  <meta name="generator" content="m2html &copy; 2003 Guillaume Flandin">
  <meta name="robots" content="index, follow">
  <link type="text/css" rel="stylesheet" href="../../m2html.css">
</head>
<body>
<a name="_top"></a>
<div><a href="../../index.html">Home</a> &gt;  <a href="../index.html">matgraph</a> &gt; <a href="index.html">@partition</a> &gt; mtimes.m</div>

<!--<table width="100%"><tr><td align="left"><a href="../../index.html"><img alt="<" border="0" src="../../left.png">&nbsp;Master index</a></td>
<td align="right"><a href="index.html">Index for matgraph/@partition&nbsp;<img alt=">" border="0" src="../../right.png"></a></td></tr></table>-->

<h1>mtimes
</h1>

<h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="../../up.png"></a></h2>
<div class="box"><strong>mtimes(p,q) --- p*q is the meet of the partitions p and q</strong></div>

<h2><a name="_synopsis"></a>SYNOPSIS <a href="#_top"><img alt="^" border="0" src="../../up.png"></a></h2>
<div class="box"><strong>function r = mtimes(p,q) </strong></div>

<h2><a name="_description"></a>DESCRIPTION <a href="#_top"><img alt="^" border="0" src="../../up.png"></a></h2>
<div class="fragment"><pre class="comment"> mtimes(p,q) --- p*q is the meet of the partitions p and q</pre></div>

<!-- crossreference -->
<h2><a name="_cross"></a>CROSS-REFERENCE INFORMATION <a href="#_top"><img alt="^" border="0" src="../../up.png"></a></h2>
This function calls:
<ul style="list-style-image:url(../../matlabicon.gif)">
<li><a href="np.html" class="code" title="function m = np(p)">np</a>	np(p) --- number of parts in the partition p</li><li><a href="nv.html" class="code" title="function n = nv(p)">nv</a>	nv(p) --- number of vertices (elements) of a partition</li></ul>
This function is called by:
<ul style="list-style-image:url(../../matlabicon.gif)">
</ul>
<!-- crossreference -->


<h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" src="../../up.png"></a></h2>
<div class="fragment"><pre>0001 <a name="_sub0" href="#_subfunctions" class="code">function r = mtimes(p,q)</a>
0002 <span class="comment">% mtimes(p,q) --- p*q is the meet of the partitions p and q</span>
0003 
0004 n1 = <a href="nv.html" class="code" title="function n = nv(p)">nv</a>(p);
0005 n2 = <a href="nv.html" class="code" title="function n = nv(p)">nv</a>(q);
0006 
0007 <span class="keyword">if</span> n1 ~= n2
0008     error(<span class="string">'* only defined for partitions on the same ground set'</span>)
0009 <span class="keyword">end</span>
0010 
0011 m1 = <a href="np.html" class="code" title="function m = np(p)">np</a>(p);
0012 m2 = <a href="np.html" class="code" title="function m = np(p)">np</a>(q);
0013 
0014 mat = sparse(0,0);
0015 
0016 <span class="keyword">for</span> i=1:m1
0017     <span class="keyword">for</span> j=1:m2
0018         a = p.array(i,:) &amp; q.array(j,:);
0019         <span class="keyword">if</span> sum(a) &gt; 0
0020             mat = [mat;a];
0021         <span class="keyword">end</span>
0022     <span class="keyword">end</span>
0023 <span class="keyword">end</span>
0024 
0025 mat = sortrows(mat);
0026 mat = unique(mat,<span class="string">'rows'</span>);
0027 r.array = mat;
0028 
0029 r = class(r,<span class="string">'partition'</span>);</pre></div>
<hr><address>Generated on Fri 30-Apr-2010 07:51:16 by <strong><a href="http://www.artefact.tk/software/matlab/m2html/">m2html</a></strong> &copy; 2003</address>
</body>
</html>